package com.yystudy.maker.template.model;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 模板模型数据配置
 */
@Data
public class TemplateMakerModelConfig {

    /**
     * 模型配置
     */
    private List<ModelInfoConfig> models;

    /**
     * 模型分组配置
     */
    private ModelGroupConfig modelGroupConfig;

    @NoArgsConstructor
    @Data
    public static class ModelInfoConfig {

        /**
         * 字段名称
         */
        private String fieldName;

        /**
         * 字段类型
         */
        private String type;

        /**
         * 字段描述
         */
        private String description;

        /**
         * 字段默认值
         */
        private Object defaultValue;

        /**
         * 字段简写（用于命令生成）
         */
        private String abbr;

        // 用于替换模型中哪些文本
        private String replaceText;
    }

    @Data
    public static class ModelGroupConfig {

        /**
         * 条件
         */
        private String condition;

        /**
         * 分组字段
         */
        private String groupKey;

        /**
         * 分组名称
         */
        private String groupName;

        /**
         * 分组类型
         */
        private String type;

        /**
         * 分组描述
         */
        private String description;
    }
}